Complex packet switching networks are known in which there is more than one available path between any given pair of nodes. It is also known to provide session based communication between one of a plurality of applications at a first node and one of a plurality of applications at a second node. It is a problem in session based networks of this type that the failure of a node or a link comprising a portion of the path utilized by a session will terminate the communication. This is a problem of the packet switch network shown in U.S. Pat. No. 4,488,004 to Bogart et al of Dec. 11, 1984. With alternate routing facilities, communication can be reestablished with minimal disruption using other paths, links and nodes. While the currently available alternate routing network facilities are operable to perform their intended function, their performance is less than optimal because they are complex, costly, and may cause temporary service disruptions. They are also often incompatible with popular protocol standards such as, for example, X.25.
One such currently available alternate routing arrangement, typified by SNA Multiple routing, may be termed "Static Decision Making by the Session Originator". This arrangement allows a path failure to disrupt the current session, but it provides a means for the session originating process to specify a new path on which a new session may be established. The procedures used to specify the new path require detailed global knowledge of the network by the session originating process and a complicated protocol for communicating the newly specified path information to the lower layer packet switches responsible for implementing the changes required to establish the new path. In short, this prior art arrangement introduces considerable complexity, it is incompatible with X.25, and it still does not attempt to prevent session disruption and lost messages.
A second alternate routing arrangement in the prior art may be termed "Dynamic Decision Making by a Centralized Controller". This arrangement is termed dynamic since it detects transmission failures at the packet layer and attempts to reroute the affected packets without disturbing the session between the client applications. This method employs a centralized controller which must have updated knowledge regarding the current health of all links and nodes in the network. This, in turn, entails certain cost and complexity within the controller so that it has this knowledge. Furthermore, the phenomenon of looping is possible in this arrangement due to the dynamic changing of paths.
A third alternate routing arrangement in the prior art may be termed the "Dynamic Decision by a Distributed Controller". This arrangement requires that information specifying link status and health of all nodes of the network be transmitted to controllers at all nodes of the network. This arrangement suffers from the problems inherent to synchronized distributed data bases. If this is not done to perfection, looping and other such undesirable events may occur. In addition, the communication involved in this synchronization involves overhead communication on the network itself, above and beyond the normal traffic the network is designed to carry.
A general problem associated with dynamic alternate routing arrangements in the prior art is the difficulty of constraining paths for security reasons so that messages requiring a high level of security will not be transmitted over facilities that do not provide the required security level. Static routing arrangements allow such constraints to be applied when the system administrator or network engineer configures the network.
Thus, in summary of session based packet switch communication, alternate routing facilities are currently available to pick a new path in the event a first selected path fails. However, they all suffer from one or more of the following deficiencies: (1) session disruption, (2) network overhead, (3) expensive hardware, software and additional components, (4) difficulty of constraints for security reasons, (5) possibility of looping and (6) incompatibility with the X.25 protocol.